The present invention relates to storage technology, and more particularly, to a storage system and a method used by the storage system.
Modern enterprises cannot develop without information technology, and most enterprises rely on information technology to ensure their normal operations. IT infrastructure for company operations usually includes an operation host computer, hereinafter referred to as the production host. Once a failure occurs to the production host, the impact is obvious. Therefore, enterprises generally use another backup host computer for the production host. The backup host can immediately take over operations of the production host once a problem occurs in the production host.
Generally speaking, the production host and the backup host use hardware systems that are the same. In recent years, since capacity of cache SSD in a host generally reaches the TB level, and prices of cache SSD are relatively expensive, enterprises often configure capacity of cache SSD of the production host to be superior to that of the backup host, which may cause some technical problems.
FIG. 2 shows working flows of a conventional production host, backup host, and storage system when the production host and the backup host cache synchronously. According to FIG. 2, when the production host sends a read/write IO to the storage system, the storage system will record response time of the IO and generate a caching scheme. In a mode in which the production host and the backup host cache synchronously, the storage system will send the caching scheme to the production host and the backup host simultaneously. The two will decide which data blocks are to be cached in the local data storage (data is stored in the data storage system in the form of data blocks) in accordance with their own local cache capability, and send a request to cache data to the storage system, respectively, so as to obtain required data blocks. As the capacity of cache SSD of the production host may be superior to that of the backup host, the rendered result is that the capacity of caching data blocks in the local storage of the production host is larger than that of the backup host.
If a failure occurs to the production host after the data blocks have already been cached in the local storage of the production host, the backup host will begin to perform a failover. As a backup of the production host, the backup host will continue to execute applications running on the production host. Since the capacity of caching data blocks in the local storage of the backup host may be smaller than that of the production host, in this case, the data blocks cached by the backup host are a subset of the data blocks cached by production host, resulting in that the backup host is likely to request from the storage system the data blocks that have been cached in the local storage of the production host previously, but have not been cached in the backup host. However, due to internal tiering technology of the storage system, after a data block is cached in the local storage and read by the production host, access frequency of this data block at the end of the storage system will sharply drop, the data block may be considered as cold data and transferred to a slow disk (e.g., tape, etc.) with a longer read time, so the data blocks desired by the backup host may be probably acquired from the slow disk at the end of the storage system. In this way, readability will be quite low, and longer failover time is required.